﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.Unity;

namespace SZHL.UI.API
{
    public class ServiceContainer
    {
        public static IUnityContainer Current()
        {
            IUnityContainer container = new UnityContainer();

            #region 日程提醒
            container.RegisterType<IWsService, RCTXManage>("ADDRCTX".ToUpper());//添加任务待办
            container.RegisterType<IWsService, RCTXManage>("GETRCTXMODEL".ToUpper());//获取任务待办
            container.RegisterType<IWsService, RCTXManage>("GETRCTXDATA".ToUpper());//获取任务待办
            container.RegisterType<IWsService, RCTXManage>("DELRWDB".ToUpper());//获取任务待办

            container.RegisterType<IWsService, RCTXManage>("COMPLETERCTX".ToUpper());//获取任务待办

            #endregion

            #region 公告管理
            container.RegisterType<IWsService, QYGGManage>("ADDQYGG".ToUpper());//添加企业公告  
            container.RegisterType<IWsService, QYGGManage>("GETQYGGLIST".ToUpper());//获取公告列表
            container.RegisterType<IWsService, QYGGManage>("GETQYGGLIST_PAGE".ToUpper());//获取公告列表 分页
            container.RegisterType<IWsService, QYGGManage>("GETUSERQYGGLIST".ToUpper());//获取用户公告列表
            container.RegisterType<IWsService, QYGGManage>("ADDCOMENT".ToUpper());//添加评论
            container.RegisterType<IWsService, QYGGManage>("DELQYGGBYID".ToUpper());//删除公告
            container.RegisterType<IWsService, QYGGManage>("GETQYGGMODEL".ToUpper());//获取公告实体
            container.RegisterType<IWsService, QYGGManage>("GETREADUSER".ToUpper());//获取已阅信息
            container.RegisterType<IWsService, QYGGManage>("UPDATEQYGGREADUSER".ToUpper());//更新已读人员 
            #endregion

            #region 字典管理

            container.RegisterType<IWsService, QYGGManage>("GETCOLUMNLIST".ToUpper());//获取启用的栏目列表
            container.RegisterType<IWsService, QYGGManage>("GETCOLUMNDATA".ToUpper());//获取栏目设置列表
            container.RegisterType<IWsService, QYGGManage>("MODIFYCOLUMN".ToUpper());//添加修改栏目
            container.RegisterType<IWsService, QYGGManage>("DELCOLUMNBYID".ToUpper());//删除修改栏目
            container.RegisterType<IWsService, QYGGManage>("GETCOLUMNBYID".ToUpper());//获取栏目信息
            container.RegisterType<IWsService, QYGGManage>("MODIFYCOLUMNSTATE".ToUpper());//更新栏目状态

            #endregion

            #region 日志管理
            container.RegisterType<IWsService, GZRZManage>("GETGZRZLIST".ToUpper());//获取日报列表
            container.RegisterType<IWsService, GZRZManage>("ADDGZRZ".ToUpper());//添加工作日报
            container.RegisterType<IWsService, GZRZManage>("GETGZRZMENUCOUNT".ToUpper());//获取日报数量
            container.RegisterType<IWsService, GZRZManage>("DELGZRZBYID".ToUpper());//删除日报
            container.RegisterType<IWsService, GZRZManage>("GETUSERGZRZLIST".ToUpper());//我的日报
            container.RegisterType<IWsService, GZRZManage>("GETALLGZRZLIST".ToUpper());//日报数据管理
            container.RegisterType<IWsService, GZRZManage>("GETGZRZMODEL".ToUpper());//获取日报信息


            #endregion

            #region 客户管理
            container.RegisterType<IWsService, KHGLManage>("GETKHGLDATA".ToUpper());//获取客户管理列表 
            container.RegisterType<IWsService, KHGLManage>("GETUSERKHGLDATA".ToUpper());//获取我的客户列表 
            container.RegisterType<IWsService, KHGLManage>("ADDKHGL".ToUpper());//添加客户信息  
            container.RegisterType<IWsService, KHGLManage>("GEKHGLDATAPAGE".ToUpper());//分页获取客户信息
            container.RegisterType<IWsService, KHGLManage>("GETKHGLMODEL".ToUpper());//获取客户实体
            container.RegisterType<IWsService, KHGLManage>("DELKHGLBYID".ToUpper());//删除客户管理


            #endregion

            #region 活动报名
            container.RegisterType<IWsService, HDBMManage>("ADDHDBM".ToUpper());//活动发起添加
            container.RegisterType<IWsService, HDBMManage>("GETHDBMLIST".ToUpper());//获取获取发起列表
            container.RegisterType<IWsService, HDBMManage>("GETHDBMMODEL".ToUpper());//获取活动发起实体 
            container.RegisterType<IWsService, HDBMManage>("DELHDBMMODEL".ToUpper());//删除活动发起实体 
            container.RegisterType<IWsService, HDBMManage>("GETUSERHDBMLIST".ToUpper());//获取获取发起列表
            container.RegisterType<IWsService, HDBMManage>("ADDHDBMITEM".ToUpper());//添加报名
            container.RegisterType<IWsService, HDBMManage>("GETHDBMITEM".ToUpper());//获取报名
            container.RegisterType<IWsService, HDBMManage>("GETHDBMITEMBYUSER".ToUpper());//根据活动Id，用户名获取用户报名信息



            #endregion

            #region 消息中心
            container.RegisterType<IWsService, XXZXManage>("GETXXZXIST".ToUpper());//获取消息中心
            container.RegisterType<IWsService, XXZXManage>("DELXXZXBYID".ToUpper());//删除消息 
            container.RegisterType<IWsService, XXZXManage>("GETXXZXMODEL".ToUpper());//获取消息实体
            container.RegisterType<IWsService, XXZXManage>("UPDTEREADSTATES".ToUpper());//更新消息状态
            
            #endregion

            #region 出差请假

            container.RegisterType<IWsService, CCQJManage>("ADDCCQJ".ToUpper());//添加出差请假 
            container.RegisterType<IWsService, CCQJManage>("GETCCQJLIST".ToUpper());//获取出差请假列表 
            container.RegisterType<IWsService, CCQJManage>("DELCCQJBYID".ToUpper());//删除出差请假信息 
            container.RegisterType<IWsService, CCQJManage>("GETCCQJMODEL".ToUpper());//获取出差请假信息 
            container.RegisterType<IWsService, CCQJManage>("GETSPCCQJLIST".ToUpper());//出差请假审批列表 
            container.RegisterType<IWsService, CCQJManage>("GETMYCCQJLIST".ToUpper());//我的请假出差列表 
            container.RegisterType<IWsService, CCQJManage>("SPCCQJ".ToUpper());//请假出差审批 


            #endregion


            #region 流程相关
            container.RegisterType<IWsService, CCQJManage>("GETDFLIST".ToUpper());//获取流程设置相关
            container.RegisterType<IWsService, CCQJManage>("MODITYDF".ToUpper());//设置流程
            container.RegisterType<IWsService, CCQJManage>("GETSPUSERLIST".ToUpper());//获取第一次审批角色的人员列表

            #endregion

            #region JSAPI
            container.RegisterType<IWsService, JSAPI>("JSSDKGETSIGNAGURE".ToUpper());  //获取JSAPI签名
            container.RegisterType<IWsService, AuthManage>("GETWXUSER".ToUpper());  //获取用户列表
            container.RegisterType<IWsService, AuthManage>("SENDSMS".ToUpper());  // 短信接口
            #endregion

            #region 经费报销

            container.RegisterType<IWsService, JFBXManage>("ADDJFBX".ToUpper());//添加经费报销
            container.RegisterType<IWsService, JFBXManage>("GETJFBXITEMBYIDS".ToUpper());//获取经费报销具体内容列表
            container.RegisterType<IWsService, JFBXManage>("ADDJFBXITEM".ToUpper());//添加报销经费详细
            container.RegisterType<IWsService, JFBXManage>("GETJFBXITEMLIST".ToUpper());//添加报销经费详细
            container.RegisterType<IWsService, JFBXManage>("GETUSERJFBXLIST".ToUpper());//获取报销经费列表
            container.RegisterType<IWsService, JFBXManage>("GETJFBXLIST".ToUpper());//获取报销经费列表
            container.RegisterType<IWsService, JFBXManage>("DELJFBXBYID".ToUpper());//删除报销经费单
            container.RegisterType<IWsService, JFBXManage>("GETJFBXMODEL".ToUpper());//获取报销经费单
            container.RegisterType<IWsService, JFBXManage>("DELJFBXITEM".ToUpper());//获取报销经费信息
            container.RegisterType<IWsService, JFBXManage>("GETSPJFBXLIST".ToUpper());//获取报销经费审批列表
            container.RegisterType<IWsService, JFBXManage>("SPJFBX".ToUpper());//获取报销经费审批列表

            #endregion

            #region 文档管理
            container.RegisterType<IWsService, QYWDManage>("ADDFLODER".ToUpper());  //添加子文件夹
            container.RegisterType<IWsService, QYWDManage>("GETLISTDATA".ToUpper());  //获取子文件夹
            container.RegisterType<IWsService, QYWDManage>("ADDFILE".ToUpper());  //获取子文件夹
            container.RegisterType<IWsService, QYWDManage>("GETFILESLIST".ToUpper());//获取附件列表
            container.RegisterType<IWsService, QYWDManage>("GETFOLDERTREE".ToUpper());//获取附件列表
            container.RegisterType<IWsService, QYWDManage>("DELFLODER".ToUpper());//删除目录列表
            container.RegisterType<IWsService, QYWDManage>("UPDATENAME".ToUpper());//修改名称
            container.RegisterType<IWsService, QYWDManage>("ADDSHARECODE".ToUpper());//添加分享
            container.RegisterType<IWsService, QYWDManage>("DELSHARECODE".ToUpper());//取消分享
            container.RegisterType<IWsService, QYWDManage>("SETAUTH".ToUpper());//配置权限
            container.RegisterType<IWsService, QYWDManage>("CANCELAUTH".ToUpper());//配置权限
            container.RegisterType<IWsService, QYWDManage>("GETWDITEM".ToUpper());//获取文档信息
            container.RegisterType<IWsService, QYWDManage>("COLLECTITEM".ToUpper());//收藏
            container.RegisterType<IWsService, QYWDManage>("CANCOLLECTITEM".ToUpper());//取消收藏
            container.RegisterType<IWsService, QYWDManage>("PASTEITEM".ToUpper());//粘贴文档
            container.RegisterType<IWsService, QYWDManage>("QUERYFILE".ToUpper());//搜索文档

            container.RegisterType<IWsService, QYWDManage>("COLLECTLIST".ToUpper());//获取收藏数据
            container.RegisterType<IWsService, QYWDManage>("GETNBSHARELIST".ToUpper());//获取能够查看的内部人员共享目录
            container.RegisterType<IWsService, QYWDManage>("GETNBUSERS".ToUpper());//获取能够查看的内部人员

            container.RegisterType<IWsService, QYWDManage>("COMPRESSFOLDER".ToUpper());//获取能够查看的内部人员

            

            #endregion

            #region 流程审批
            container.RegisterType<IWsService, LCSPManage>("ADDLCSP".ToUpper());//添加流程审批
            container.RegisterType<IWsService, LCSPManage>("GETMYLCSPLIST".ToUpper());//我填写的流程审批
            container.RegisterType<IWsService, LCSPManage>("GETSPLCSPLIST".ToUpper());//流程审批的审批列表
            container.RegisterType<IWsService, LCSPManage>("GETLCSPLIST".ToUpper());//所有流程列表
            container.RegisterType<IWsService, LCSPManage>("GETLCSPMODEL".ToUpper());//所有流程列表
            container.RegisterType<IWsService, LCSPManage>("DELLCSPBYID".ToUpper());//删除流程信息  
            container.RegisterType<IWsService, LCSPManage>("SPLCSP".ToUpper());//删除流程信息  
            
            #endregion

            #region 短信管理
            container.RegisterType<IWsService, DXGLManage>("ADDDXGL".ToUpper());//添加短信信息  
            container.RegisterType<IWsService, DXGLManage>("GETDXGLLIST".ToUpper());//获取短信列表   
            container.RegisterType<IWsService, DXGLManage>("DELDXGL".ToUpper());//删除短信信息Id   
          
            #endregion

            #region 首页数据获取
            container.RegisterType<IWsService, QYGGManage>("GETUSERINDEXDATA".ToUpper());//获取首页公告及任务代办数据
            container.RegisterType<IWsService, XXZXManage>("GETRCTXCOUNTANDCOMPANY".ToUpper());//获取公司名称及消息数量 
            #endregion

            #region 删除评论 
            container.RegisterType<IWsService, QYGGManage>("DELTL".ToUpper());//获取公司名称及消息数量 
            #endregion

            #region 老师管理 
            container.RegisterType<IWsService, LSGLManage>("ADDLSGL".ToUpper());//添加老师 
            container.RegisterType<IWsService, LSGLManage>("GETLSGLMODEL".ToUpper());//获取老师管理
            container.RegisterType<IWsService, LSGLManage>("GETLSGLLIST".ToUpper());//获取老师列表
            container.RegisterType<IWsService, LSGLManage>("DELLSGLBYID".ToUpper());//删除老师
            
            #endregion
            return container;

        }

    }
}
